package errno

var (
	// Common errors
	OK                  = &Errno{Status: 1, Info: "OK"}
	LoginOut            = &Errno{Status: 3, Info: "请先登录"}
	ParamsEmpty         = &Errno{Status: 10, Info: "参数为空"}
	SignError           = &Errno{Status: 11, Info: "签名错误"}
	SmsError            = &Errno{Status: 13, Info: "24小时内同一手机号发送次数超过限制"}
	AckError            = &Errno{Status: 16, Info: "Ack机制错误返回信息"}
	ParamsError         = &Errno{Status: 18, Info: "参数异常"}
	SignExpire          = &Errno{Status: 19, Info: "签名过期"}
	SignInvalid         = &Errno{Status: 20, Info: "签名无效"}
	FrequentError       = &Errno{Status: 21, Info: "操作频繁,请稍后再试"}
	TokenError          = &Errno{Status: 299, Info: "登录过期，请重新登录"}
	InternalServerError = &Errno{Status: 301, Info: "请求超时"}
	ErrUserNotFound     = &Errno{Status: 302, Info: "用户名或密码错误"}
	InternError         = &Errno{Status: 303, Info: "网络请求错误"}
	ExpireError         = &Errno{Status: 304, Info: "页面已过期，请刷新重试"}
	UserInfoErr         = &Errno{Status: 305, Info: "非法操作,账号信息异常"}
	SystemBusyError     = &Errno{Status: 306, Info: "系统繁忙，请稍后重试"}
	OperationFailed     = &Errno{Status: 307, Info: "操作失败"}
	StatusError         = &Errno{Status: 308, Info: "当前状态不能修改"}
	SystemError         = &Errno{Status: 309, Info: "系统异常"}
	FunctionClose       = &Errno{Status: 310, Info: "功能已关闭"}

	// 网络数据库错误
	DbError       = &Errno{Status: 1001, Info: "数据库操作失败"}
	RecordError   = &Errno{Status: 1002, Info: "找不到记录，请刷新重试"}
	DrawTaskError = &Errno{Status: 1003, Info: "添加队列失败，请刷新重试"}
	GetDataErr    = &Errno{Status: 1004, Info: "获取数据失败"}
	UpdateDataErr = &Errno{Status: 1005, Info: "更新数据失败"}
	SystemErr     = &Errno{Status: 1006, Info: "系统错误"}
	RedisSetErr   = &Errno{Status: 1007, Info: "缓存更新失败"}
	DbSearchError = &Errno{Status: 1008, Info: "数据库查询失败"}
	DbSignError   = &Errno{Status: 1009, Info: "数据库签名错误"}
	DbDataError   = &Errno{Status: 1010, Info: "数据异常"}

	// 搜索接口错误
	FiledError    = &Errno{Status: 8001, Info: "搜索内容为空，请输入关键字重新查询"}
	ErrTokenError = &Errno{Status: 8002, Info: "生成 token 失败"}

	// 全网配置参数
	LXSwitchOff         = &Errno{Status: 9999, Info: "已停止该服务"}
	NodeOff             = &Errno{Status: 9001, Info: "结点未注册，暂不支持服务"}
	UserUnFound         = &Errno{Status: 9002, Info: "暂时搜索不到该用户"}
	RollBackErr         = &Errno{Status: 9003, Info: "数据库操作错误，事务回滚"}
	IllegalErr          = &Errno{Status: 9004, Info: "非法操作"}
	NodeUnFound         = &Errno{Status: 9005, Info: "该用户暂无结点"}
	ServiceOffErr       = &Errno{Status: 9006, Info: "该服务已停止"}
	AgainErr            = &Errno{Status: 9007, Info: "已发放完成"}
	AgainStaErr         = &Errno{Status: 9013, Info: "已统计完成"}
	StatisticalAgainErr = &Errno{Status: 9014, Info: "正在统计，不能重复执行"}
	IgnoreTask          = &Errno{Status: 9015, Info: "忽略处理"}
	ExistsRecord        = &Errno{Status: 9016, Info: "已存在记录，忽略"}

	//云钱包
	GetWalletERR           = &Errno{Status: 10001, Info: "获取钱包地址失败"}
	WalletNotEnoughERR     = &Errno{Status: 10002, Info: "账户余额不足"}
	EmptyPayPassword       = &Errno{Status: 10003, Info: "请设置支付密码"}
	EmptyMd5PayPassword    = &Errno{Status: 10004, Info: "支付密码不能为空"}
	ErrPayPassword         = &Errno{Status: 10005, Info: "支付密码错误"}
	ErrWalletFormat        = &Errno{Status: 10006, Info: "钱包格式错误"}
	BlackUser              = &Errno{Status: 10007, Info: "账户在黑名单中"}
	PayPasswordFreeze      = &Errno{Status: 10008, Info: "账户被冻结"}
	PayPasswordFreezeTip   = &Errno{Status: 10009, Info: "支付密码连续错误5次，账户被冻结3小时"}
	CloseTransferTip       = &Errno{Status: 10010, Info: "系统升级，转账功能暂时关闭"}
	PayPasswordCheckExpire = &Errno{Status: 10011, Info: "请重新校验支付密码"}
	PhoneCodeCheckExpire   = &Errno{Status: 10012, Info: "请重新校验手机验证码"}
	ErrTransToSelf         = &Errno{Status: 10013, Info: "不能给自己转账"}
	ErrTransValue          = &Errno{Status: 10014, Info: "超过转账限额"}
	InvalidAddress         = &Errno{Status: 10015, Info: "钱包地址已失效"}
	ErrLessCharge          = &Errno{Status: 10016, Info: "转账金额小于手续费"}
	ErrYtaAddress          = &Errno{Status: 10017, Info: "YTA地址异常"}
	ErrYtaApplyAddress     = &Errno{Status: 10018, Info: "YTA地址未审核不支持兑换"}
	ErrYtaRechargeStatus   = &Errno{Status: 10019, Info: "该状态不支持修改状态"}

	//user
	ErrPassword          = &Errno{Status: 20113, Info: "密码长度必须是6至20位,并且包含大小写字母及数字"}
	ErrNickNameUsed      = &Errno{Status: 20112, Info: "用户名重复,不能注册"}
	UserNotExist         = &Errno{Status: 20114, Info: "账号不存在"}
	NotBindMobile        = &Errno{Status: 20115, Info: "请绑定手机号"}
	UserAmountNotExist   = &Errno{Status: 20116, Info: "钱包账户不存在"}
	ErrPasswordIncorrect = &Errno{Status: 20104, Info: "密码错误"}
	ErrUseRegistered     = &Errno{Status: 20105, Info: "用户已注册"}
	ErrInviteCode        = &Errno{Status: 20106, Info: "邀请码无效"}
	PledgedUnEnoughErr   = &Errno{Status: 20108, Info: "保证金不足"}
	NodeStatusReportErr  = &Errno{Status: 20109, Info: "节点状态上报失败"}
	PledgeStatusErr      = &Errno{Status: 20110, Info: "质押&解除操作失败"}
	PledgeStatusBatchErr = &Errno{Status: 20111, Info: "批量质押&解除操作失败："}
	MinerExistsErr       = &Errno{Status: 20112, Info: "你已经是旷工，不需要申请"}
	ApplyMinerExistsErr  = &Errno{Status: 20112, Info: "申请旷工失败"}
	DeleteNodePledgeErr  = &Errno{Status: 20113, Info: "删除节点不允许操作质押"}
	DeleteNodeStatusErr  = &Errno{Status: 20114, Info: "该节点状态不允许操作删除"}
	YtaStatusBatchErr    = &Errno{Status: 20115, Info: "批量操作失败"}

	//令牌
	BadRecordsErr     = &Errno{Status: 30001, Info: "违规次数超出限制"}
	CanNotCancelErr   = &Errno{Status: 30002, Info: "当前订单状态不能撤销"}
	CanNotRentErr     = &Errno{Status: 30003, Info: "当前订单状态不能出租"}
	TooManyRentErr    = &Errno{Status: 30004, Info: "超出租赁数量"}
	TokenNotEnoughErr = &Errno{Status: 30005, Info: "可用令牌不足"}
	RentToSelfErr     = &Errno{Status: 30006, Info: "不能租借给自己"}
	RentLeastDayErr   = &Errno{Status: 30007, Info: "租借天数最少为5天"}
	RentMostDayErr    = &Errno{Status: 30008, Info: "租借天数最多为100天"}
	UnPledgeTokenErr  = &Errno{Status: 30009, Info: "请去令牌管理操作"}

	//审计系统
	ExamineCheckErr = &Errno{Status: 40001, Info: "存在未通过审核项，不能放行"}
)
